This disclosure relates generally to data management systems, and more specifically, to performing temporal join operations to process a data store query.
Database joins are arguably the most important relational operators because efficient join processing may be expensive to compute, but are essential for the overall efficiency of a query processor. A join operation combines one or more attributes (e.g., columns) of data from one or more data structures (e.g., tables) in a data store. Consequently, join operations allow a user to analyze independent or different sets of data at one time or in a single view. For example, in a relational database, a user may issue a Structured Query Language (SQL) query that performs an “inner join” between two tables to join the two tables' matching data. In this example, an inner join selects each record from both tables where the join condition is met. That is, each record of the combined table has corresponding values such there are no null data values. In temporal data stores, join operations involving time carry great significance. A temporal data store refers to any data store where some form of time is an attribute that is included in one or more data structures of the data store.